<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
	<meta name="keywords" content="Nacos,贡献" />
	<meta name="description" content="欢迎来到Nacos！本文档是关于如何为Nacos做出贡献的指南。" />
	<!-- 网页标签标题 -->
	<title>为 Nacos 做贡献</title>
	<link rel="shortcut icon" href="https://img.alicdn.com/tfs/TB1hgJpHAPoK1RjSZKbXXX1IXXa-64-64.png"/>
	<link rel="stylesheet" href="/build/documentation.css" />
</head>
<body>
	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/nacos_colorful.png"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/menu_gray.png"/><ul><li class="menu-item menu-item-normal"><a href="/zh-cn/index.html">首页</a></li><li class="menu-item menu-item-normal menu-item-normal-active"><a href="/zh-cn/docs/what-is-nacos.html">文档</a></li><li class="menu-item menu-item-normal"><a href="/zh-cn/blog/index.html">博客</a></li><li class="menu-item menu-item-normal"><a href="/zh-cn/community/index.html">社区</a></li><li class="menu-item menu-item-normal"><a href="https://cn.aliyun.com/product/aliware/mse?spm=nacos-website.topbar.0.0.0">企业版Nacos</a><img class="menu-img" src="https://img.alicdn.com/tfs/TB1esl_m.T1gK0jSZFrXXcNCXXa-200-200.png"/></li><li class="menu-item menu-item-normal"><a href="http://console.nacos.io/nacos/index.html">控制台样例</a></li></ul></div></div></header><div class="bar"><div class="bar-body"><img src="/img/docs.png" class="front-img"/><div class="bar-title"><span>Nacos 文档</span><div class="bone bone-light"></div></div><img src="/img/docs.png" class="back-img"/></div></div><section class="content-section"><div class="content-body"><div class="sidemenu"><div class="sidemenu-toggle"><img src="https://img.alicdn.com/tfs/TB1E6apXHGYBuNjy0FoXXciBFXa-200-200.png"/></div><ul><li class="menu-item menu-item-level-1"><span>Nacos </span><ul><li style="height:180px;overflow:hidden" class="menu-item menu-item-level-2"><span>Nacos是什么?<img style="transform:rotate(0deg)" class="menu-toggle" src="/img/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/what-is-nacos.html" target="_self">Nacos简介</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/concepts.html" target="_self">概念</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/architecture.html" target="_self">架构</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/feature-list.html" target="_self">功能和需求列表</a></li></ul></li><li style="height:324px;overflow:hidden" class="menu-item menu-item-level-2"><span>快速开始<img style="transform:rotate(0deg)" class="menu-toggle" src="/img/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/quick-start.html" target="_self">Nacos</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/quick-start-spring.html" target="_self">Nacos Spring</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/quick-start-spring-boot.html" target="_self">Nacos Spring Boot</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/quick-start-spring-cloud.html" target="_self">Nacos Spring Cloud</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/quick-start-docker.html" target="_self">Nacos Docker</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/use-nacos-with-dubbo.html" target="_self">Nacos Dubbo</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/use-nacos-with-kubernetes.html" target="_self">Nacos k8s</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos-sync.html" target="_self">Nacos Sync</a></li></ul></li><li style="height:288px;overflow:hidden" class="menu-item menu-item-level-2"><span>用户指南<img style="transform:rotate(0deg)" class="menu-toggle" src="/img/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/sdk.html" target="_self">Java的SDK</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/other-language.html" target="_self">其他语言的SDK</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/open-api.html" target="_self">Open-API指南</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos-spring.html" target="_self">Nacos Spring</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/system-configurations.html" target="_self">Nacos系统参数介绍</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/auth.html" target="_self">权限认证</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/faq.html" target="_self">FAQ</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>运维指南<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/deployment.html" target="_self">部署手册</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/cluster-mode-quick-start.html" target="_self">集群部署说明</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/management-api.html" target="_self">运维API</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/console-guide.html" target="_self">控制台手册</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/monitor-guide.html" target="_self">监控手册</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos-config-benchmark.html" target="_self">Nacos配置模块压测报告</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos2-config-benchmark.html" target="_self">Nacos2.0配置模块压测报告</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos-naming-benchmark.html" target="_self">Nacos服务发现模块压测报告</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos2-naming-benchmark.html" target="_self">Nacos2.0服务发现模块压测报告</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos-sync-use.html" target="_self">其他环境迁移到Nacos</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>Nacos 2.0<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/2.0.0-alpha.html" target="_self">2.0-BETA</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/2.0.0-upgrading.html" target="_self">升级文档</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>开源共建<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/contributing.html" target="_self">贡献源码</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/contributing-flow.html" target="_self">贡献流程</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/pull-request.html" target="_self">pull request模板</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/how-to-reporting-bugs.html" target="_self">如何提交问题报告</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>社区<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/community.html" target="_self">社区</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/nacos-dev.html" target="_self">开发团队</a></li></ul></li></ul></li></ul></div><div class="doc-content markdown-body"><h1>为 Nacos 做贡献</h1>
<p>欢迎来到Nacos！本文档是关于如何为Nacos做出贡献的指南。</p>
<p>如果您发现不正确或遗失的内容，请留下意见/建议。</p>
<h2>开始之前</h2>
<h3>行为守则</h3>
<p>请务必阅读并遵守我们的<a href="https://github.com/alibaba/nacos/blob/master/CODE_OF_CONDUCT.md">行为准则</a>。</p>
<h2>贡献和Nacos社区构成</h2>
<p>Nacos欢迎任何角色的新参与者，包括用户，贡献者，提交者和PMC。</p>
<p><img src="http://acm-public.oss-cn-hangzhou.aliyuncs.com/contributor_definition.png" alt=""></p>
<p>我们鼓励新来者积极参与Nacos社区，社区有一套机制可以使您，从用户角色到提交者角色，甚至是PMC角色。为了实现这一目标，新来者需要积极参与Nacos社区。以下段落介绍了如何为Nacos做出贡献并且晋升社区角色。</p>
<h4>打开/提取准备问题</h4>
<p>如果您在文档中发现拼写错误，在代码中发现错误，或想要新功能或想要提供建议，您可以<a href="https://github.com/alibaba/Nacos/issues/new">在GitHub上打开一个问题</a>报告。</p>
<p>如果您想开始着手，可以选择github仓库中有以下标签的issues。</p>
<ul>
<li>
<p><a href="https://github.com/alibaba/nacos/labels/good%20first%20issue">good first issue</a>：对于新手来说是非常好的入门issues。</p>
</li>
<li>
<p><a href="https://github.com/alibaba/nacos/labels/contribution%20%E6%AC%A2%E8%BF%8E">contribution welcome</a>：非常需要解决的问题和非常重要的模块，但目前缺少贡献者，欢迎贡献者来贡献。</p>
</li>
</ul>
<p></p>
<p>我们非常重视文档以及与Spring Cloud，Kubernetes，Dubbo等其他项目的集成。我们很希望能够就这些方面的任何问题进行研究。</p>
<p>请注意，任何PR（Pull Request）必须与有效issues相关联。否则PR将被打回。</p>
<h4>开始你的贡献</h4>
<p>现在，如果您想贡献，请创建一个新的拉取请求。</p>
<p>我们使用<code>develop</code>分支作为开发分支，这表明这是一个不稳定的分支。</p>
<p>此外，我们的分支模型符合<a href="https://nvie.com/posts/a-successful-git-branching-model">https://nvie.com/posts/a-successful-git-branching-model/</a>。我们强烈建议新成员在创建PR之前完成上述文章。</p>
<p>现在，如果您准备创建PR，这里是贡献者的工作流程：</p>
<ol>
<li>fork Nacos仓库到你的github仓库</li>
<li>克隆fork到本地仓库</li>
<li>创建一个新分支并进行处理</li>
<li>保持分支同步</li>
<li>提交您的更改（确保您的提交消息简明扼要）</li>
<li>将提交推送到你的github远程仓库</li>
<li>创建一个指向<strong>开发</strong>分支的Pull Request</li>
</ol>
<p>创建Pull Request时：</p>
<ol>
<li>请遵循<a href="https://github.com/alibaba/nacos/blob/master/.github/PULL_REQUEST_TEMPLATE.md">拉取请求模板</a>。</li>
<li>请创建<strong>开发</strong>分支的请求。</li>
<li>请确保PR有相应的问题。</li>
<li>如果您的PR包含大量更改，例如组件重构或新组件，请写下有关其设计和使用的详细文档。</li>
<li>请注意，单个PR不应该太大。如果需要进行大量更改，最好将更改分成几个单独的PR。</li>
<li>创建PR后，将为拉取请求分配一个或多个审阅者。</li>
<li>在合并PR之前，请注意合并提交节点（git commit），包括修复审核反馈，拼写错误，合并。最终提交消息应该清晰简洁。</li>
</ol>
<p>如果您的PR包含大量更改，例如组件重构或新组件，请写下有关其设计和使用的详细文档。</p>
<h3>代码审查指南</h3>
<p>提交者将轮流审查代码，以确保在合并之前及时审核所有PR以及至少一个提交者。如果我们不做我们的工作（有时我们放弃的东西）。和往常一样，我们欢迎志愿者进行代码审查。</p>
<p>一些原则：</p>
<ul>
<li>可读性 - 重要的代码应该有详细记录。 API应该有Javadoc。代码样式应符合现有代码样式。</li>
<li>优雅：新功能，类或组件应精心设计。</li>
<li>可测试性 - 单元测试用例应涵盖80％的新代码。</li>
<li>可维护性 - 遵守我们的<a href="https://github.com/alibaba/nacos/blob/master/style/codeStyle.md">代码规约</a> ，至少应保持3个月的频率更新。</li>
</ul>
<h3>现在尝试成为一个Committer怎么样？</h3>
<p>一般来说，贡献8个非平凡的补丁并让至少三个不同的人来审查它们（你需要三个人来支持你）。然后请别人提名你。你正在展示你的：</p>
<ul>
<li>至少8个PR以及与项目相关的问题，</li>
<li>与团队协作的能力，</li>
<li>了解项目的代码库和编码风格，</li>
<li>编写优秀代码的能力（并非最不重要）</li>
</ul>
<p>当前的提交者通过标签“提名”在Nacos issues里边，让社区了解</p>
<ul>
<li>你的名字和姓氏</li>
<li>指向您的Git个人资料的链接</li>
<li>解释为什么你应该成为一名提交者，</li>
<li>详细说明您提交的前三的PR和相关issues</li>
</ul>
<p><img src="http://acm-public.oss-cn-hangzhou.aliyuncs.com/nomination_process.png" alt=""></p>
</div></div></section><footer class="footer-container"><div class="footer-body"><img src="/img/nacos_gray.png"/><div class="cols-container"><div class="col col-12"><h3>愿景</h3><p>Nacos 通过提供简单易用的动态服务发现、服务配置、服务共享与管理等服务基础设施，帮助用户在云原生时代，在私有云、混合云或者公有云等所有云环境中，更好的构建、交付、管理自己的微服务平台，更快的复用和组合业务服务，更快的交付商业创新的价值，从而为用户赢得市场。</p></div><div class="col col-6"><dl><dt>文档</dt><dd><a href="/zh-cn/docs/what-is-nacos.html" target="_self">概览</a></dd><dd><a href="/zh-cn/docs/quick-start.html" target="_self">快速开始</a></dd><dd><a href="/zh-cn/docs/contributing.html" target="_self">开发者指南</a></dd></dl></div><div class="col col-6"><dl><dt>资源</dt><dd><a href="/zh-cn/community/index.html" target="_self">社区</a></dd><dd><a href="https://cn.aliyun.com/product/aliware/mse?spm=nacos-website.topbar.0.0.0" target="_self">云服务 MSE</a></dd><dd><a href="https://www.aliyun.com/product/edas?source_type=nacos_pc_20181219" target="_self">云服务 EDAS</a></dd><dd><a href="https://www.aliyun.com/product/ahas?source_type=nacos_pc_20190225" target="_self">云服务 AHAS</a></dd></dl></div></div><div class="copyright"><span>@ 2018 The Nacos Authors | An Alibaba Middleware (Aliware) Project</span></div></div></footer></div></div>
	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
	<script>
		window.rootPath = '';
  </script>
	<script src="/build/documentation.js"></script>
</body>
</html>